package com.logic.saas.util.struts2;

/**
 * 自定义Boolean类型转换，struts的类型转换不是很稳定
 * @author jeffdong
 *
 */

import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;

public class BooleanConverter extends DefaultTypeConverter {

    @Override 
    public Object convertValue(Map context, Object value, Class toType) { 
        if (toType == Boolean.class) {  //浏览器向服务器提交时，进行String to Date的转换 
            String booleanString = null; 
            String[] params = (String[])value; 
            if(params!=null && params.length>0){
            	 booleanString = params[0];//获取字符串 
                 if(StringUtils.isBlank(booleanString)){
                 	return null;
                 }else{
                 	if(booleanString.trim().equals("true")){
                 		return true;
                 	}else{
                 		return false;
                 	}
                 }
            }else{
            	return null;
            }
           
        } else if (toType == String.class) {   //服务器向浏览器输出时，进行Date to String的类型转换 
            Boolean bolValue = (Boolean)value; 
            return bolValue==null?"":bolValue.toString();//输出的格式是yyyy-MM-dd 
        } 
        
        return null; 
    }
}